(function($, win){ $.fn.kboardViewport=function(cb){ return this.each(function(i, el){ function visPx(){ var elH=$(el).outerHeight(), H=$(win).height(), r=el.getBoundingClientRect(), t=r.top, b=r.bottom; return cb.call(el, Math.max(0, t > 0 ? Math.min(elH, H - t):(b < H ? b:H))); } visPx(); $(win).on("resize scroll", visPx); }); };}(jQuery, window)); var kboard_ajax_lock=false; var mod=jQuery('input[name=mod]').val(); if(mod=='editor'&&kboard_current.use_tree_category=='yes'){ kboard_tree_category_parents(); } function kboard_tree_category_search(index, value){ var length=jQuery('.kboard-search-option-wrap').length; var tree_category_index=parseInt(index) +1; if(value){ jQuery('input[name="kboard_search_option[tree_category_'+index+'][value]"]').val(value); }else{ jQuery('input[name="kboard_search_option[tree_category_'+index+'][value]"]').val(''); } for(var i=tree_category_index; i<=length; i++){ jQuery('.kboard-search-option-wrap-'+i).remove(); } jQuery('#kboard-tree-category-search-form-'+kboard_current.board_id).submit(); return false; } function kboard_tree_category_parents(){ if(kboard_current.use_tree_category){ var tree_category=kboard_current.tree_category; var tree_category_name; var tree_category_index=1; tree_category_name='kboard_option_tree_category_'; jQuery('.kboard-tree-category-wrap').prepend(''); jQuery('#kboard-tree-category-'+tree_category_index).append(''); jQuery('#kboard-tree-category-'+tree_category_index).after(''); jQuery('#kboard-tree-category-'+tree_category_index).change(function(){ kboard_tree_category_children(this.value, tree_category_index, tree_category_name); jQuery('#kboard-tree-category-search-form-'+kboard_current.board_id).submit(); }); jQuery.each(tree_category, function(index, element){ if(!element.parent_id){ jQuery('#kboard-tree-category-'+tree_category_index).append(''); }}); kboard_tree_category_selected(tree_category_index, tree_category_name); }} function kboard_tree_category_children(category_id, tree_category_index, tree_category_name){ var tree_category=kboard_current.tree_category; var length=jQuery('.kboard-tree-category').length; var check=0; for(var i=tree_category_index+1; i<=length; i++){ jQuery('.kboard-tree-category-'+i).remove(); jQuery('.kboard-tree-category-hidden-'+i).remove(); } jQuery.each(tree_category, function(index, element){ if(jQuery('#kboard-tree-category-'+tree_category_index).val()==element.id){ jQuery('#'+tree_category_name+tree_category_index).val(element.category_name); }}); if(jQuery('#kboard-tree-category-'+tree_category_index).val()){ jQuery.each(tree_category, function(index, element){ if(category_id===element.parent_id){ if(check==0){ jQuery('#kboard-tree-category-'+tree_category_index).after(''); jQuery('#kboard-tree-category-'+(tree_category_index+1)).append(''); jQuery('#kboard-tree-category-'+(tree_category_index+1)).after(''); jQuery('#kboard-tree-category-'+(tree_category_index+1)).change(function(){ kboard_tree_category_children(this.value, (tree_category_index+1), tree_category_name); jQuery('#kboard-tree-category-search-form-'+kboard_current.board_id).submit(); }); } check++; jQuery('#kboard-tree-category-'+(tree_category_index+1)).append(''); }}); kboard_tree_category_selected(tree_category_index+1, tree_category_name); }else{ for(var i=tree_category_index; i<=length; i++){ jQuery('.kboard-tree-category-hidden-'+i).val(''); jQuery('.kboard-tree-category-hidden-'+(i+1)).remove(); }} if(jQuery('.kboard-tree-category-search').length){ jQuery('input[name="kboard_search_option[tree_category_'+tree_category_index+'][value]"').val(jQuery('#'+tree_category_name+tree_category_index).val()); jQuery('input[name="kboard_search_option[tree_category_'+tree_category_index+'][key]"').val('tree_category_'+tree_category_index); }} function kboard_tree_category_selected(tree_category_index, tree_category_name){ var check=jQuery('#tree-category-check-'+tree_category_index).val(); if(check){ jQuery('#kboard-tree-category-'+tree_category_index+' option').each(function(index, element){ if(jQuery(element).text()==check){ jQuery(element).attr('selected', 'selected'); kboard_tree_category_children(this.value, tree_category_index, tree_category_name); }}); } return false; } function kboard_editor_open_media(){ var w=900; var h=500; if(kboard_current.board_id){ if(jQuery('#kboard_media_wrapper').length){ jQuery('#kboard_media_wrapper').show(); jQuery('#kboard_media_wrapper').html(jQuery('').attr('src', kboard_settings.home_url+'?action=kboard_media&board_id='+kboard_current.board_id+'&media_group='+kboard_settings.media_group+'&content_uid='+kboard_current.content_uid)); jQuery('#kboard_media_background').show(); }else{ var wrapper=jQuery('
'); var background=jQuery('
').css({opacity:'0.5'}).click(function(){ kboard_media_close(); }); function init_window_size(){ if(window.innerWidth <=900){ wrapper.css({left:0, top:0, margin:'10px', width:(window.innerWidth-20), height:(window.innerHeight-20)}); }else{ wrapper.css({left:'50%', top:'50%', margin:0, 'margin-left':(w/2)*-1, 'margin-top':(h/2)*-1, width:w, height:h}); }} init_window_size(); jQuery(window).resize(init_window_size); wrapper.html(jQuery('').attr('src', kboard_settings.home_url+'?action=kboard_media&board_id='+kboard_current.board_id+'&media_group='+kboard_settings.media_group+'&content_uid='+kboard_current.content_uid)); jQuery('body').append(background); jQuery('body').append(wrapper); if(!jQuery('input[name="media_group"]').filter(function(){return this.value==kboard_settings.media_group}).length){ jQuery('[name="board_id"]').parents('form').append(jQuery('').val(kboard_settings.media_group)); }} }} function kboard_editor_insert_media(url){ if(typeof tinyMCE!='undefined'){ if(typeof tinyMCE.activeEditor!='undefined'){ tinyMCE.activeEditor.execCommand ('mceInsertRawHTML', false, "\"\""); tinyMCE.activeEditor.focus(); tinyMCE.activeEditor.selection.select(tinyMCE.activeEditor.dom.select('#last_kboard_media_content')[0], true); tinyMCE.activeEditor.selection.collapse(false); tinyMCE.activeEditor.dom.setAttrib('last_kboard_media_content', 'id', ''); }} else if(jQuery('#kboard_content').length){ jQuery('#kboard_content').val(function(index, value){ return value + (!value?'':' ') + "\"\""; }); }} function kboard_media_close(){ jQuery('#kboard_media_wrapper').hide(); jQuery('#kboard_media_background').hide(); } function kboard_document_print(url){ window.open(url, 'kboard_document_print'); return false; } function kboard_document_like(button, callback){ if(!kboard_ajax_lock){ kboard_ajax_lock=true; jQuery.post(kboard_settings.ajax_url, {'action':'kboard_document_like', 'document_uid':jQuery(button).data('uid'), 'security':kboard_settings.ajax_security}, function(res){ kboard_ajax_lock=false; if(typeof callback==='function'){ callback(res); }else{ if(res.result=='error'){ alert(res.message); }else{ jQuery('.kboard-document-like-count', button).text(res.data.like); }} }); }else{ alert(kboard_localize_strings.please_wait); } return false; } function kboard_document_unlike(button, callback){ if(!kboard_ajax_lock){ kboard_ajax_lock=true; jQuery.post(kboard_settings.ajax_url, {'action':'kboard_document_unlike', 'document_uid':jQuery(button).data('uid'), 'security':kboard_settings.ajax_security}, function(res){ kboard_ajax_lock=false; if(typeof callback==='function'){ callback(res); }else{ if(res.result=='error'){ alert(res.message); }else{ jQuery('.kboard-document-unlike-count', button).text(res.data.unlike); }} }); }else{ alert(kboard_localize_strings.please_wait); } return false; } function kboard_comment_like(button, callback){ if(!kboard_ajax_lock){ kboard_ajax_lock=true; jQuery.post(kboard_settings.ajax_url, {'action':'kboard_comment_like', 'comment_uid':jQuery(button).data('uid'), 'security':kboard_settings.ajax_security}, function(res){ kboard_ajax_lock=false; if(typeof callback==='function'){ callback(res); }else{ if(res.result=='error'){ alert(res.message); }else{ jQuery('.kboard-comment-like-count', button).text(res.data.like); }} }); }else{ alert(kboard_localize_strings.please_wait); } return false; } function kboard_comment_unlike(button, callback){ if(!kboard_ajax_lock){ kboard_ajax_lock=true; jQuery.post(kboard_settings.ajax_url, {'action':'kboard_comment_unlike', 'comment_uid':jQuery(button).data('uid'), 'security':kboard_settings.ajax_security}, function(res){ kboard_ajax_lock=false; if(typeof callback==='function'){ callback(res); }else{ if(res.result=='error'){ alert(res.message); }else{ jQuery('.kboard-comment-unlike-count', button).text(res.data.unlike); }} }); }else{ alert(kboard_localize_strings.please_wait); } return false; } function kboard_content_update(content_uid, data, callback){ if(!kboard_ajax_lock){ kboard_ajax_lock=true; jQuery.post(kboard_settings.ajax_url, {'action':'kboard_content_update', 'content_uid':content_uid, 'data':data, 'security':kboard_settings.ajax_security}, function(res){ kboard_ajax_lock=false; if(typeof callback==='function'){ callback(res); }}); }else{ alert(kboard_localize_strings.please_wait); } return false; } function kboard_ajax_builder(args, callback){ if(!kboard_ajax_lock){ kboard_ajax_lock=true; var callback2=(typeof callback==='function') ? callback:args['callback']; args['action']='kboard_ajax_builder'; args['callback']=''; args['security']=kboard_settings.ajax_security; jQuery.get(kboard_settings.ajax_url, args, function(res){ kboard_ajax_lock=false; if(typeof callback2==='function'){ callback2(res); }}); }else{ alert(kboard_localize_strings.please_wait); } return false; }; !function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){a.extend(a.fn,{validate:function(b){if(!this.length)return void(b&&b.debug&&window.console&&console.warn("Nothing selected, can't validate, returning nothing."));var c=a.data(this[0],"validator");return c?c:(this.attr("novalidate","novalidate"),c=new a.validator(b,this[0]),a.data(this[0],"validator",c),c.settings.onsubmit&&(this.on("click.validate",":submit",function(b){c.settings.submitHandler&&(c.submitButton=b.target),a(this).hasClass("cancel")&&(c.cancelSubmit=!0),void 0!==a(this).attr("formnovalidate")&&(c.cancelSubmit=!0)}),this.on("submit.validate",function(b){function d(){var d,e;return!c.settings.submitHandler||(c.submitButton&&(d=a("").attr("name",c.submitButton.name).val(a(c.submitButton).val()).appendTo(c.currentForm)),e=c.settings.submitHandler.call(c,c.currentForm,b),c.submitButton&&d.remove(),void 0!==e&&e)}return c.settings.debug&&b.preventDefault(),c.cancelSubmit?(c.cancelSubmit=!1,d()):c.form()?c.pendingRequest?(c.formSubmitted=!0,!1):d():(c.focusInvalid(),!1)})),c)},valid:function(){var b,c,d;return a(this[0]).is("form")?b=this.validate().form():(d=[],b=!0,c=a(this[0].form).validate(),this.each(function(){b=c.element(this)&&b,b||(d=d.concat(c.errorList))}),c.errorList=d),b},rules:function(b,c){var d,e,f,g,h,i,j=this[0];if(null!=j&&null!=j.form){if(b)switch(d=a.data(j.form,"validator").settings,e=d.rules,f=a.validator.staticRules(j),b){case"add":a.extend(f,a.validator.normalizeRule(c)),delete f.messages,e[j.name]=f,c.messages&&(d.messages[j.name]=a.extend(d.messages[j.name],c.messages));break;case"remove":return c?(i={},a.each(c.split(/\s/),function(b,c){i[c]=f[c],delete f[c],"required"===c&&a(j).removeAttr("aria-required")}),i):(delete e[j.name],f)}return g=a.validator.normalizeRules(a.extend({},a.validator.classRules(j),a.validator.attributeRules(j),a.validator.dataRules(j),a.validator.staticRules(j)),j),g.required&&(h=g.required,delete g.required,g=a.extend({required:h},g),a(j).attr("aria-required","true")),g.remote&&(h=g.remote,delete g.remote,g=a.extend(g,{remote:h})),g}}}),a.extend(a.expr[":"],{blank:function(b){return!a.trim(""+a(b).val())},filled:function(b){var c=a(b).val();return null!==c&&!!a.trim(""+c)},unchecked:function(b){return!a(b).prop("checked")}}),a.validator=function(b,c){this.settings=a.extend(!0,{},a.validator.defaults,b),this.currentForm=c,this.init()},a.validator.format=function(b,c){return 1===arguments.length?function(){var c=a.makeArray(arguments);return c.unshift(b),a.validator.format.apply(this,c)}:void 0===c?b:(arguments.length>2&&c.constructor!==Array&&(c=a.makeArray(arguments).slice(1)),c.constructor!==Array&&(c=[c]),a.each(c,function(a,c){b=b.replace(new RegExp("\\{"+a+"\\}","g"),function(){return c})}),b)},a.extend(a.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",pendingClass:"pending",validClass:"valid",errorElement:"label",focusCleanup:!1,focusInvalid:!0,errorContainer:a([]),errorLabelContainer:a([]),onsubmit:!0,ignore:":hidden",ignoreTitle:!1,onfocusin:function(a){this.lastActive=a,this.settings.focusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,a,this.settings.errorClass,this.settings.validClass),this.hideThese(this.errorsFor(a)))},onfocusout:function(a){this.checkable(a)||!(a.name in this.submitted)&&this.optional(a)||this.element(a)},onkeyup:function(b,c){var d=[16,17,18,20,35,36,37,38,39,40,45,144,225];9===c.which&&""===this.elementValue(b)||a.inArray(c.keyCode,d)!==-1||(b.name in this.submitted||b.name in this.invalid)&&this.element(b)},onclick:function(a){a.name in this.submitted?this.element(a):a.parentNode.name in this.submitted&&this.element(a.parentNode)},highlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).addClass(c).removeClass(d):a(b).addClass(c).removeClass(d)},unhighlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).removeClass(c).addClass(d):a(b).removeClass(c).addClass(d)}},setDefaults:function(b){a.extend(a.validator.defaults,b)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits.",equalTo:"Please enter the same value again.",maxlength:a.validator.format("Please enter no more than {0} characters."),minlength:a.validator.format("Please enter at least {0} characters."),rangelength:a.validator.format("Please enter a value between {0} and {1} characters long."),range:a.validator.format("Please enter a value between {0} and {1}."),max:a.validator.format("Please enter a value less than or equal to {0}."),min:a.validator.format("Please enter a value greater than or equal to {0}."),step:a.validator.format("Please enter a multiple of {0}.")},autoCreateRanges:!1,prototype:{init:function(){function b(b){!this.form&&this.hasAttribute("contenteditable")&&(this.form=a(this).closest("form")[0]);var c=a.data(this.form,"validator"),d="on"+b.type.replace(/^validate/,""),e=c.settings;e[d]&&!a(this).is(e.ignore)&&e[d].call(c,this,b)}this.labelContainer=a(this.settings.errorLabelContainer),this.errorContext=this.labelContainer.length&&this.labelContainer||a(this.currentForm),this.containers=a(this.settings.errorContainer).add(this.settings.errorLabelContainer),this.submitted={},this.valueCache={},this.pendingRequest=0,this.pending={},this.invalid={},this.reset();var c,d=this.groups={};a.each(this.settings.groups,function(b,c){"string"==typeof c&&(c=c.split(/\s/)),a.each(c,function(a,c){d[c]=b})}),c=this.settings.rules,a.each(c,function(b,d){c[b]=a.validator.normalizeRule(d)}),a(this.currentForm).on("focusin.validate focusout.validate keyup.validate",":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'], [type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], [type='radio'], [type='checkbox'], [contenteditable]",b).on("click.validate","select, option, [type='radio'], [type='checkbox']",b),this.settings.invalidHandler&&a(this.currentForm).on("invalid-form.validate",this.settings.invalidHandler),a(this.currentForm).find("[required], [data-rule-required], .required").attr("aria-required","true")},form:function(){return this.checkForm(),a.extend(this.submitted,this.errorMap),this.invalid=a.extend({},this.errorMap),this.valid()||a(this.currentForm).triggerHandler("invalid-form",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var a=0,b=this.currentElements=this.elements();b[a];a++)this.check(b[a]);return this.valid()},element:function(b){var c,d,e=this.clean(b),f=this.validationTargetFor(e),g=this,h=!0;return void 0===f?delete this.invalid[e.name]:(this.prepareElement(f),this.currentElements=a(f),d=this.groups[f.name],d&&a.each(this.groups,function(a,b){b===d&&a!==f.name&&(e=g.validationTargetFor(g.clean(g.findByName(a))),e&&e.name in g.invalid&&(g.currentElements.push(e),h=g.check(e)&&h))}),c=this.check(f)!==!1,h=h&&c,c?this.invalid[f.name]=!1:this.invalid[f.name]=!0,this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),a(b).attr("aria-invalid",!c)),h},showErrors:function(b){if(b){var c=this;a.extend(this.errorMap,b),this.errorList=a.map(this.errorMap,function(a,b){return{message:a,element:c.findByName(b)[0]}}),this.successList=a.grep(this.successList,function(a){return!(a.name in b)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){a.fn.resetForm&&a(this.currentForm).resetForm(),this.invalid={},this.submitted={},this.prepareForm(),this.hideErrors();var b=this.elements().removeData("previousValue").removeAttr("aria-invalid");this.resetElements(b)},resetElements:function(a){var b;if(this.settings.unhighlight)for(b=0;a[b];b++)this.settings.unhighlight.call(this,a[b],this.settings.errorClass,""),this.findByName(a[b].name).removeClass(this.settings.validClass);else a.removeClass(this.settings.errorClass).removeClass(this.settings.validClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(a){var b,c=0;for(b in a)a[b]&&c++;return c},hideErrors:function(){this.hideThese(this.toHide)},hideThese:function(a){a.not(this.containers).text(""),this.addWrapper(a).hide()},valid:function(){return 0===this.size()},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{a(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(a){}},findLastActive:function(){var b=this.lastActive;return b&&1===a.grep(this.errorList,function(a){return a.element.name===b.name}).length&&b},elements:function(){var b=this,c={};return a(this.currentForm).find("input, select, textarea, [contenteditable]").not(":submit, :reset, :image, :disabled").not(this.settings.ignore).filter(function(){var d=this.name||a(this).attr("name");return!d&&b.settings.debug&&window.console&&console.error("%o has no name assigned",this),this.hasAttribute("contenteditable")&&(this.form=a(this).closest("form")[0]),!(d in c||!b.objectLength(a(this).rules()))&&(c[d]=!0,!0)})},clean:function(b){return a(b)[0]},errors:function(){var b=this.settings.errorClass.split(" ").join(".");return a(this.settings.errorElement+"."+b,this.errorContext)},resetInternals:function(){this.successList=[],this.errorList=[],this.errorMap={},this.toShow=a([]),this.toHide=a([])},reset:function(){this.resetInternals(),this.currentElements=a([])},prepareForm:function(){this.reset(),this.toHide=this.errors().add(this.containers)},prepareElement:function(a){this.reset(),this.toHide=this.errorsFor(a)},elementValue:function(b){var c,d,e=a(b),f=b.type;return"radio"===f||"checkbox"===f?this.findByName(b.name).filter(":checked").val():"number"===f&&"undefined"!=typeof b.validity?b.validity.badInput?"NaN":e.val():(c=b.hasAttribute("contenteditable")?e.text():e.val(),"file"===f?"C:\\fakepath\\"===c.substr(0,12)?c.substr(12):(d=c.lastIndexOf("/"),d>=0?c.substr(d+1):(d=c.lastIndexOf("\\"),d>=0?c.substr(d+1):c)):"string"==typeof c?c.replace(/\r/g,""):c)},check:function(b){b=this.validationTargetFor(this.clean(b));var c,d,e,f=a(b).rules(),g=a.map(f,function(a,b){return b}).length,h=!1,i=this.elementValue(b);if("function"==typeof f.normalizer){if(i=f.normalizer.call(b,i),"string"!=typeof i)throw new TypeError("The normalizer should return a string value.");delete f.normalizer}for(d in f){e={method:d,parameters:f[d]};try{if(c=a.validator.methods[d].call(this,i,b,e.parameters),"dependency-mismatch"===c&&1===g){h=!0;continue}if(h=!1,"pending"===c)return void(this.toHide=this.toHide.not(this.errorsFor(b)));if(!c)return this.formatAndAdd(b,e),!1}catch(a){throw this.settings.debug&&window.console&&console.log("Exception occurred when checking element "+b.id+", check the '"+e.method+"' method.",a),a instanceof TypeError&&(a.message+=". Exception occurred when checking element "+b.id+", check the '"+e.method+"' method."),a}}if(!h)return this.objectLength(f)&&this.successList.push(b),!0},customDataMessage:function(b,c){return a(b).data("msg"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase())||a(b).data("msg")},customMessage:function(a,b){var c=this.settings.messages[a];return c&&(c.constructor===String?c:c[b])},findDefined:function(){for(var a=0;aWarning: No message defined for "+b.name+""),e=/\$?\{(\d+)\}/g;return"function"==typeof d?d=d.call(this,c.parameters,b):e.test(d)&&(d=a.validator.format(d.replace(e,"{$1}"),c.parameters)),d},formatAndAdd:function(a,b){var c=this.defaultMessage(a,b);this.errorList.push({message:c,element:a,method:b.method}),this.errorMap[a.name]=c,this.submitted[a.name]=c},addWrapper:function(a){return this.settings.wrapper&&(a=a.add(a.parent(this.settings.wrapper))),a},defaultShowErrors:function(){var a,b,c;for(a=0;this.errorList[a];a++)c=this.errorList[a],this.settings.highlight&&this.settings.highlight.call(this,c.element,this.settings.errorClass,this.settings.validClass),this.showLabel(c.element,c.message);if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(a=0;this.successList[a];a++)this.showLabel(this.successList[a]);if(this.settings.unhighlight)for(a=0,b=this.validElements();b[a];a++)this.settings.unhighlight.call(this,b[a],this.settings.errorClass,this.settings.validClass);this.toHide=this.toHide.not(this.toShow),this.hideErrors(),this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return a(this.errorList).map(function(){return this.element})},showLabel:function(b,c){var d,e,f,g,h=this.errorsFor(b),i=this.idOrName(b),j=a(b).attr("aria-describedby");h.length?(h.removeClass(this.settings.validClass).addClass(this.settings.errorClass),h.html(c)):(h=a("<"+this.settings.errorElement+">").attr("id",i+"-error").addClass(this.settings.errorClass).html(c||""),d=h,this.settings.wrapper&&(d=h.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.length?this.labelContainer.append(d):this.settings.errorPlacement?this.settings.errorPlacement.call(this,d,a(b)):d.insertAfter(b),h.is("label")?h.attr("for",i):0===h.parents("label[for='"+this.escapeCssMeta(i)+"']").length&&(f=h.attr("id"),j?j.match(new RegExp("\\b"+this.escapeCssMeta(f)+"\\b"))||(j+=" "+f):j=f,a(b).attr("aria-describedby",j),e=this.groups[b.name],e&&(g=this,a.each(g.groups,function(b,c){c===e&&a("[name='"+g.escapeCssMeta(b)+"']",g.currentForm).attr("aria-describedby",h.attr("id"))})))),!c&&this.settings.success&&(h.text(""),"string"==typeof this.settings.success?h.addClass(this.settings.success):this.settings.success(h,b)),this.toShow=this.toShow.add(h)},errorsFor:function(b){var c=this.escapeCssMeta(this.idOrName(b)),d=a(b).attr("aria-describedby"),e="label[for='"+c+"'], label[for='"+c+"'] *";return d&&(e=e+", #"+this.escapeCssMeta(d).replace(/\s+/g,", #")),this.errors().filter(e)},escapeCssMeta:function(a){return a.replace(/([\\!"#$%&'()*+,./:;<=>?@\[\]^`{|}~])/g,"\\$1")},idOrName:function(a){return this.groups[a.name]||(this.checkable(a)?a.name:a.id||a.name)},validationTargetFor:function(b){return this.checkable(b)&&(b=this.findByName(b.name)),a(b).not(this.settings.ignore)[0]},checkable:function(a){return/radio|checkbox/i.test(a.type)},findByName:function(b){return a(this.currentForm).find("[name='"+this.escapeCssMeta(b)+"']")},getLength:function(b,c){switch(c.nodeName.toLowerCase()){case"select":return a("option:selected",c).length;case"input":if(this.checkable(c))return this.findByName(c.name).filter(":checked").length}return b.length},depend:function(a,b){return!this.dependTypes[typeof a]||this.dependTypes[typeof a](a,b)},dependTypes:{boolean:function(a){return a},string:function(b,c){return!!a(b,c.form).length},function:function(a,b){return a(b)}},optional:function(b){var c=this.elementValue(b);return!a.validator.methods.required.call(this,c,b)&&"dependency-mismatch"},startRequest:function(b){this.pending[b.name]||(this.pendingRequest++,a(b).addClass(this.settings.pendingClass),this.pending[b.name]=!0)},stopRequest:function(b,c){this.pendingRequest--,this.pendingRequest<0&&(this.pendingRequest=0),delete this.pending[b.name],a(b).removeClass(this.settings.pendingClass),c&&0===this.pendingRequest&&this.formSubmitted&&this.form()?(a(this.currentForm).submit(),this.formSubmitted=!1):!c&&0===this.pendingRequest&&this.formSubmitted&&(a(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(b,c){return c="string"==typeof c&&c||"remote",a.data(b,"previousValue")||a.data(b,"previousValue",{old:null,valid:!0,message:this.defaultMessage(b,{method:c})})},destroy:function(){this.resetForm(),a(this.currentForm).off(".validate").removeData("validator").find(".validate-equalTo-blur").off(".validate-equalTo").removeClass("validate-equalTo-blur")}},classRuleSettings:{required:{required:!0},email:{email:!0},url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},number:{number:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(b,c){b.constructor===String?this.classRuleSettings[b]=c:a.extend(this.classRuleSettings,b)},classRules:function(b){var c={},d=a(b).attr("class");return d&&a.each(d.split(" "),function(){this in a.validator.classRuleSettings&&a.extend(c,a.validator.classRuleSettings[this])}),c},normalizeAttributeRule:function(a,b,c,d){/min|max|step/.test(c)&&(null===b||/number|range|text/.test(b))&&(d=Number(d),isNaN(d)&&(d=void 0)),d||0===d?a[c]=d:b===c&&"range"!==b&&(a[c]=!0)},attributeRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)"required"===c?(d=b.getAttribute(c),""===d&&(d=!0),d=!!d):d=f.attr(c),this.normalizeAttributeRule(e,g,c,d);return e.maxlength&&/-1|2147483647|524288/.test(e.maxlength)&&delete e.maxlength,e},dataRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)d=f.data("rule"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase()),this.normalizeAttributeRule(e,g,c,d);return e},staticRules:function(b){var c={},d=a.data(b.form,"validator");return d.settings.rules&&(c=a.validator.normalizeRule(d.settings.rules[b.name])||{}),c},normalizeRules:function(b,c){return a.each(b,function(d,e){if(e===!1)return void delete b[d];if(e.param||e.depends){var f=!0;switch(typeof e.depends){case"string":f=!!a(e.depends,c.form).length;break;case"function":f=e.depends.call(c,c)}f?b[d]=void 0===e.param||e.param:(a.data(c.form,"validator").resetElements(a(c)),delete b[d])}}),a.each(b,function(d,e){b[d]=a.isFunction(e)&&"normalizer"!==d?e(c):e}),a.each(["minlength","maxlength"],function(){b[this]&&(b[this]=Number(b[this]))}),a.each(["rangelength","range"],function(){var c;b[this]&&(a.isArray(b[this])?b[this]=[Number(b[this][0]),Number(b[this][1])]:"string"==typeof b[this]&&(c=b[this].replace(/[\[\]]/g,"").split(/[\s,]+/),b[this]=[Number(c[0]),Number(c[1])]))}),a.validator.autoCreateRanges&&(null!=b.min&&null!=b.max&&(b.range=[b.min,b.max],delete b.min,delete b.max),null!=b.minlength&&null!=b.maxlength&&(b.rangelength=[b.minlength,b.maxlength],delete b.minlength,delete b.maxlength)),b},normalizeRule:function(b){if("string"==typeof b){var c={};a.each(b.split(/\s/),function(){c[this]=!0}),b=c}return b},addMethod:function(b,c,d){a.validator.methods[b]=c,a.validator.messages[b]=void 0!==d?d:a.validator.messages[b],c.length<3&&a.validator.addClassRules(b,a.validator.normalizeRule(b))},methods:{required:function(b,c,d){if(!this.depend(d,c))return"dependency-mismatch";if("select"===c.nodeName.toLowerCase()){var e=a(c).val();return e&&e.length>0}return this.checkable(c)?this.getLength(b,c)>0:b.length>0},email:function(a,b){return this.optional(b)||/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(a)},url:function(a,b){return this.optional(b)||/^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})).?)(?::\d{2,5})?(?:[/?#]\S*)?$/i.test(a)},date:function(a,b){return this.optional(b)||!/Invalid|NaN/.test(new Date(a).toString())},dateISO:function(a,b){return this.optional(b)||/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(a)},number:function(a,b){return this.optional(b)||/^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(a)},digits:function(a,b){return this.optional(b)||/^\d+$/.test(a)},minlength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||e>=d},maxlength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||e<=d},rangelength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||e>=d[0]&&e<=d[1]},min:function(a,b,c){return this.optional(b)||a>=c},max:function(a,b,c){return this.optional(b)||a<=c},range:function(a,b,c){return this.optional(b)||a>=c[0]&&a<=c[1]},step:function(b,c,d){var e,f=a(c).attr("type"),g="Step attribute on input type "+f+" is not supported.",h=["text","number","range"],i=new RegExp("\\b"+f+"\\b"),j=f&&!i.test(h.join()),k=function(a){var b=(""+a).match(/(?:\.(\d+))?$/);return b&&b[1]?b[1].length:0},l=function(a){return Math.round(a*Math.pow(10,e))},m=!0;if(j)throw new Error(g);return e=k(d),(k(b)>e||l(b)%l(d)!==0)&&(m=!1),this.optional(c)||m},equalTo:function(b,c,d){var e=a(d);return this.settings.onfocusout&&e.not(".validate-equalTo-blur").length&&e.addClass("validate-equalTo-blur").on("blur.validate-equalTo",function(){a(c).valid()}),b===e.val()},remote:function(b,c,d,e){if(this.optional(c))return"dependency-mismatch";e="string"==typeof e&&e||"remote";var f,g,h,i=this.previousValue(c,e);return this.settings.messages[c.name]||(this.settings.messages[c.name]={}),i.originalMessage=i.originalMessage||this.settings.messages[c.name][e],this.settings.messages[c.name][e]=i.message,d="string"==typeof d&&{url:d}||d,h=a.param(a.extend({data:b},d.data)),i.old===h?i.valid:(i.old=h,f=this,this.startRequest(c),g={},g[c.name]=b,a.ajax(a.extend(!0,{mode:"abort",port:"validate"+c.name,dataType:"json",data:g,context:f.currentForm,success:function(a){var d,g,h,j=a===!0||"true"===a;f.settings.messages[c.name][e]=i.originalMessage,j?(h=f.formSubmitted,f.resetInternals(),f.toHide=f.errorsFor(c),f.formSubmitted=h,f.successList.push(c),f.invalid[c.name]=!1,f.showErrors()):(d={},g=a||f.defaultMessage(c,{method:e,parameters:b}),d[c.name]=i.message=g,f.invalid[c.name]=!0,f.showErrors(d)),i.valid=j,f.stopRequest(c,j)}},d)),"pending")}}});var b,c={};a.ajaxPrefilter?a.ajaxPrefilter(function(a,b,d){var e=a.port;"abort"===a.mode&&(c[e]&&c[e].abort(),c[e]=d)}):(b=a.ajax,a.ajax=function(d){var e=("mode"in d?d:a.ajaxSettings).mode,f=("port"in d?d:a.ajaxSettings).port;return"abort"===e?(c[f]&&c[f].abort(),c[f]=b.apply(this,arguments),c[f]):b.apply(this,arguments)})}); ;(function($){ 'use strict'; var WPForms={ init: function(){ $(document).ready(WPForms.ready); $(window).on('load', WPForms.load); WPForms.bindUIActions(); }, ready: function(){ WPForms.setUserIndentifier(); WPForms.loadValidation(); WPForms.loadDatePicker(); WPForms.loadTimePicker(); WPForms.loadInputMask(); WPForms.loadPayments(); $('.wpforms-randomize').each(function(){ $(this).randomize(); }); $(document).trigger('wpformsReady'); }, load: function(){ }, loadValidation: function(){ if(typeof $.fn.validate!=='undefined'){ $('.wpforms-input-temp-name').each(function(index, el){ var random=Math.floor(Math.random() * 9999) + 1; $(this).attr('name', 'wpf-temp-' + random); }); $('.wpforms-validate input[type=url]').change(function (){ var url=$(this).val(); if(! url){ return false; } if(url.substr(0, 7)!=='http://'&&url.substr(0, 8)!=='https://'){ $(this).val('http://' + url); }}); $.validator.messages.required=wpforms_settings.val_required; $.validator.messages.url=wpforms_settings.val_url; $.validator.messages.email=wpforms_settings.val_email; $.validator.messages.number=wpforms_settings.val_number; if(typeof $.fn.payment!=='undefined'){ $.validator.addMethod("creditcard", function(value, element){ var valid=$.payment.validateCardNumber(value); return this.optional(element)||valid; }, wpforms_settings.val_creditcard); } $.validator.addMethod("extension", function(value, element, param){ param=typeof param==="string" ? param.replace(/,/g, "|"):"png|jpe?g|gif"; return this.optional(element)||value.match(new RegExp("\\.(" + param + ")$", "i")); }, wpforms_settings.val_fileextension); $.validator.addMethod("maxsize", function(value, element, param){ var maxSize=param, optionalValue=this.optional(element), i, len, file; if(optionalValue){ return optionalValue; } if(element.files&&element.files.length){ i=0; len=element.files.length; for (; i < len; i++){ file=element.files[i]; if(file.size > maxSize){ return false; }} } return true; }, wpforms_settings.val_filesize); $.validator.methods.email=function(value, element){ return this.optional(element)||/^[a-z0-9.!#$%&'*+\/=?^_`{|}~-]+@((?=[a-z0-9-]{1,63}\.)(xn--)?[a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,63}$/i.test(value); }; $.validator.addMethod("confirm", function(value, element, param){ return $.validator.methods.equalTo.call(this, value, element, param); }, wpforms_settings.val_confirm); $.validator.addMethod("required-payment", function(value, element){ return WPForms.amountSanitize(value) > 0; }, wpforms_settings.val_requiredpayment); $.validator.addMethod("time12h", function(value, element){ return this.optional(element)||/^((0?[1-9]|1[012])(:[0-5]\d){1,2}(\ ?[AP]M))$/i.test(value); }, wpforms_settings.val_time12h); $.validator.addMethod("time24h", function(value, element){ return this.optional(element)||/^(([0-1]?[0-9])|([2][0-3])):([0-5]?[0-9])(\ ?[AP]M)?$/i.test(value); }, wpforms_settings.val_time24h); $('.wpforms-validate').each(function(){ var form=$(this), formID=form.data('formid'), properties; if(typeof window['wpforms_'+formID]!=='undefined'&&window['wpforms_'+formID].hasOwnProperty('validate')){ properties=window['wpforms_'+formID].validate; }else if(typeof wpforms_validate!=='undefined'){ properties=wpforms_validate; }else{ properties={ errorClass: 'wpforms-error', validClass: 'wpforms-valid', errorPlacement: function(error, element){ if(element.attr('type')==='radio'||element.attr('type')==='checkbox'){ if(element.hasClass('wpforms-likert-scale-option')){ if(element.closest('table').hasClass('single-row')){ element.closest('table').after(error); }else{ element.closest('tr').find('th').append(error); }}else if(element.hasClass('wpforms-net-promoter-score-option')){ element.closest('table').after(error); }else{ element.parent().parent().parent().append(error); }}else if(element.is('select')&&element.attr('class').match(/date-month|date-day|date-year/)){ if(element.parent().find('label.wpforms-error:visible').length===0){ element.parent().find('select:last').after(error); }}else{ error.insertAfter(element); }}, highlight: function(element, errorClass, validClass){ var $element=$(element), $field=$element.closest('.wpforms-field'), inputName=$element.attr('name'); if($element.attr('type')==='radio'||$element.attr('type')==='checkbox'){ $field.find('input[name=\''+inputName+'\']').addClass(errorClass).removeClass(validClass); }else{ $element.addClass(errorClass).removeClass(validClass); } $field.addClass('wpforms-has-error'); }, unhighlight: function(element, errorClass, validClass){ var $element=$(element), $field=$element.closest('.wpforms-field'), inputName=$element.attr('name'); if($element.attr('type')==='radio'||$element.attr('type')==='checkbox'){ $field.find('input[name=\''+inputName+'\']').addClass(validClass).removeClass(errorClass); }else{ $element.addClass(validClass).removeClass(errorClass); } $field.removeClass('wpforms-has-error'); }, submitHandler: function(form){ var $form=$(form), $submit=$form.find('.wpforms-submit'), altText=$submit.data('alt-text'); if(WPForms.empty($submit.get(0).recaptchaID)&&$submit.get(0).recaptchaID!==0){ if(altText){ $submit.text(altText).prop('disabled', true); } $('.wpforms-input-temp-name').removeAttr('name'); form.submit(); }else{ grecaptcha.execute($submit.get(0).recaptchaID); }} }} form.validate(properties); }); }}, loadDatePicker: function(){ if(typeof $.fn.flatpickr!=='undefined'){ $('.wpforms-datepicker').each(function(){ var element=$(this), form=element.closest('.wpforms-form'), formID=form.data('formid'), fieldID=element.closest('.wpforms-field').data('field-id'), properties; if(typeof window['wpforms_'+formID+'_'+fieldID]!=='undefined'&&window['wpforms_'+formID+'_'+fieldID].hasOwnProperty('datepicker')){ properties=window['wpforms_'+formID+'_'+fieldID].datepicker; }else if(typeof window['wpforms_'+formID]!=='undefined'&&window['wpforms_'+formID].hasOwnProperty('datepicker')){ properties=window['wpforms_'+formID].datepicker; }else if(typeof wpforms_datepicker!=='undefined'){ properties=wpforms_datepicker; }else{ properties={ disableMobile: true }} element.flatpickr(properties) }); }}, loadTimePicker: function(){ if(typeof $.fn.timepicker!=='undefined'){ $('.wpforms-timepicker').each(function(){ var element=$(this), form=element.closest('.wpforms-form'), formID=form.data('formid'), fieldID=element.closest('.wpforms-field').data('field-id'), properties; if(typeof window['wpforms_'+formID+'_'+fieldID]!=='undefined' && window['wpforms_'+formID+'_'+fieldID].hasOwnProperty('timepicker') ){ properties=window['wpforms_'+formID+'_'+fieldID].timepicker; }else if(typeof window['wpforms_'+formID]!=='undefined' && window['wpforms_'+formID].hasOwnProperty('timepicker') ){ properties=window['wpforms_'+formID].timepicker; }else if(typeof wpforms_timepicker!=='undefined'){ properties=wpforms_timepicker; }else{ properties={ scrollDefault: 'now', forceRoundTime: true };} element.timepicker(properties); }); }}, loadInputMask: function(){ if(typeof $.fn.inputmask!=='undefined'){ $('.wpforms-masked-input').inputmask(); }}, loadPayments: function(){ $('.wpforms-payment-total').each(function(index, el){ WPForms.amountTotal(this); }); if(typeof $.fn.payment!=='undefined'){ $('.wpforms-field-credit-card-cardnumber').payment('formatCardNumber'); $('.wpforms-field-credit-card-cardcvc').payment('formatCardCVC'); }}, bindUIActions: function(){ $(document).on('click', '.wpforms-page-button', function(event){ event.preventDefault(); WPForms.pagebreakNav($(this)); }); $(document).on('change input', '.wpforms-payment-price', function(){ WPForms.amountTotal(this, true); }); $(document).on('input', '.wpforms-payment-user-input', function(){ var $this=$(this), amount=$this.val(); $this.val(amount.replace(/[^0-9.,]/g, '')); }); $(document).on('focusout', '.wpforms-payment-user-input', function(){ var $this=$(this), amount=$this.val(), sanitized=WPForms.amountSanitize(amount), formatted=WPForms.amountFormat(sanitized); $this.val(formatted); }); $('.wpforms-field-rating-item').hover(function(){ $(this).parent().find('.wpforms-field-rating-item').removeClass('selected hover'); $(this).prevAll().andSelf().addClass('hover'); }, function(){ $(this).parent().find('.wpforms-field-rating-item').removeClass('selected hover'); $(this).parent().find('input:checked').parent().prevAll().andSelf().addClass('selected'); } ); $(document).on('change', '.wpforms-field-rating-item input', function(){ var $this=$(this), $wrap=$this.closest('.wpforms-field-rating-items'), $items=$wrap.find('.wpforms-field-rating-item'); $items.removeClass('hover selected'); $this.parent().prevAll().andSelf().addClass('selected'); }); $(document).on('change', '.wpforms-field-checkbox input, .wpforms-field-radio input, .wpforms-field-payment-multiple input', function(){ var $this=$(this); if('radio'===$this.attr('type')){ $(this).closest('ul').find('li').removeClass('wpforms-selected'); $(this).closest('li').addClass('wpforms-selected'); }else{ $(this).closest('li').toggleClass('wpforms-selected'); }}) $(document).on('OptinMonsterAfterInject', function(){ WPForms.ready(); }); }, pagebreakNav: function(el){ var $this=$(el), valid=true, action=$this.data('action'), page=$this.data('page'), page2=page, next=page+1, prev=page-1, formID=$this.data('formid'), $form=$this.closest('.wpforms-form'), $page=$form.find('.wpforms-page-'+page), $submit=$form.find('.wpforms-submit-container'), $indicator=$form.find('.wpforms-page-indicator'), $reCAPTCHA=$form.find('.wpforms-recaptcha-container'), pageScroll=false; if(window.wpforms_pageScroll===false){ pageScroll=false; }else if(!WPForms.empty(window.wpform_pageScroll)){ pageScroll=window.wpform_pageScroll; }else{ pageScroll=75; } if(action==='next'){ if(typeof $.fn.validate!=='undefined'){ $page.find('input.wpforms-field-required, select.wpforms-field-required, textarea.wpforms-field-required, .wpforms-field-required input').each(function(index, el){ var field=$(el); if(field.valid()){ }else{ valid=false; }}); var $topError=$page.find('.wpforms-error').first(); if($topError.length){ $('html, body').animate({ scrollTop: $topError.offset().top-75 }, 750, function(){ $topError.focus(); }); }} if(valid){ page2=next; $page.hide(); var $nextPage=$form.find('.wpforms-page-'+next); $nextPage.show(); if($nextPage.hasClass('last')){ $reCAPTCHA.show(); $submit.show(); } if(pageScroll){ $('html, body').animate({ scrollTop: $form.offset().top-pageScroll }, 1000); } $this.trigger('wpformsPageChange', [ page2, $form ]); }}else if(action==='prev'){ page2=prev; $page.hide(); $form.find('.wpforms-page-'+prev).show(); $reCAPTCHA.hide(); $submit.hide(); if(pageScroll){ $('html, body').animate({ scrollTop: $form.offset().top-pageScroll }, 1000); } $this.trigger('wpformsPageChange', [ page2, $form ]); } if($indicator){ var theme=$indicator.data('indicator'), color=$indicator.data('indicator-color'); if('connector'===theme||'circles'===theme){ $indicator.find('.wpforms-page-indicator-page').removeClass('active'); $indicator.find('.wpforms-page-indicator-page-'+page2).addClass('active'); $indicator.find('.wpforms-page-indicator-page-number').removeAttr('style'); $indicator.find('.active .wpforms-page-indicator-page-number').css('background-color', color); if('connector'===theme){ $indicator.find('.wpforms-page-indicator-page-triangle').removeAttr('style'); $indicator.find('.active .wpforms-page-indicator-page-triangle').css('border-top-color', color); }}else if('progress'===theme){ var $pageTitle=$indicator.find('.wpforms-page-indicator-page-title'), $pageSep=$indicator.find('.wpforms-page-indicator-page-title-sep'), totalPages=$form.find('.wpforms-page').length, width=(page2/totalPages)*100; $indicator.find('.wpforms-page-indicator-page-progress').css('width', width+'%'); $indicator.find('.wpforms-page-indicator-steps-current').text(page2); if($pageTitle.data('page-'+page2+'-title')){ $pageTitle.css('display','inline').text($pageTitle.data('page-'+page2+'-title')); $pageSep.css('display','inline'); }else{ $pageTitle.css('display','none'); $pageSep.css('display','none'); }} }}, amountTotal: function(el, validate){ var validate=validate||false, $form=$(el).closest('.wpforms-form'), total=0, totalFormatted=0, totalFormattedSymbol=0, currency=WPForms.getCurrency(); $('.wpforms-payment-price', $form).each(function(index, el){ var amount=0, $this=$(this); if($this.attr('type')==='text'||$this.attr('type')==='hidden'){ amount=$this.val(); }else if($this.attr('type')==='radio'&&$this.is(':checked')){ amount=$this.data('amount'); }else if($this.is('select')&&$this.find('option:selected').length > 0){ amount=$this.find('option:selected').data('amount'); } if(!WPForms.empty(amount)){ amount=WPForms.amountSanitize(amount); total=Number(total)+Number(amount); }}); totalFormatted=WPForms.amountFormat(total); if('left'===currency.symbol_pos){ totalFormattedSymbol=currency.symbol+' '+totalFormatted; }else{ totalFormattedSymbol=totalFormatted+' '+currency.symbol; } $form.find('.wpforms-payment-total').each(function(index, el){ if('hidden'===$(this).attr('type')||'text'===$(this).attr('type')){ $(this).val(totalFormattedSymbol); if('text'===$(this).attr('type')&&validate){ $(this).valid(); }}else{ $(this).text(totalFormattedSymbol); }}); }, amountSanitize: function(amount){ var currency=WPForms.getCurrency(); amount=amount.toString().replace(/[^0-9.,]/g,''); if(currency.decimal_sep===','&&(amount.indexOf(currency.decimal_sep)!==-1)){ if(currency.thousands_sep==='.'&&amount.indexOf(currency.thousands_sep)!==-1){ amount=amount.replace(currency.thousands_sep,''); }else if(currency.thousands_sep===''&&amount.indexOf('.')!==-1){ amount=amount.replace('.',''); } amount=amount.replace(currency.decimal_sep,'.'); }else if(currency.thousands_sep===','&&(amount.indexOf(currency.thousands_sep)!==-1)){ amount=amount.replace(currency.thousands_sep,''); } return WPForms.numberFormat(amount, 2, '.', ''); }, amountFormat: function(amount){ var currency=WPForms.getCurrency(); amount=String(amount); if(currency.decimal_sep===','&&(amount.indexOf(currency.decimal_sep)!==-1)){ var sepFound=amount.indexOf(currency.decimal_sep), whole=amount.substr(0, sepFound), part=amount.substr(sepFound+1, amount.strlen-1); amount=whole + '.' + part; } if(currency.thousands_sep===','&&(amount.indexOf(currency.thousands_sep)!==-1)){ amount=amount.replace(',',''); } if(WPForms.empty(amount)){ amount=0; } return WPForms.numberFormat(amount, 2, currency.decimal_sep, currency.thousands_sep); }, getCurrency: function(){ var currency={ code: 'USD', thousands_sep: ',', decimal_sep: '.', symbol: '$', symbol_pos: 'left' }; if(typeof wpforms_settings.currency_code!=='undefined'){ currency.code=wpforms_settings.currency_code; } if(typeof wpforms_settings.currency_thousands!=='undefined'){ currency.thousands_sep=wpforms_settings.currency_thousands; } if(typeof wpforms_settings.currency_decimal!=='undefined'){ currency.decimal_sep=wpforms_settings.currency_decimal; } if(typeof wpforms_settings.currency_symbol!=='undefined'){ currency.symbol=wpforms_settings.currency_symbol; } if(typeof wpforms_settings.currency_symbol_pos!=='undefined'){ currency.symbol_pos=wpforms_settings.currency_symbol_pos; } return currency; }, numberFormat: function (number, decimals, decimalSep, thousandsSep){ number=(number + '').replace(/[^0-9+\-Ee.]/g, ''); var n = !isFinite(+number) ? 0:+number; var prec = !isFinite(+decimals) ? 0:Math.abs(decimals); var sep=(typeof thousandsSep==='undefined') ? ',':thousandsSep; var dec=(typeof decimalSep==='undefined') ? '.':decimalSep; var s; var toFixedFix=function (n, prec){ var k=Math.pow(10, prec); return '' + (Math.round(n * k) / k).toFixed(prec) }; s=(prec ? toFixedFix(n, prec):'' + Math.round(n)).split('.'); if(s[0].length > 3){ s[0]=s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep) } if((s[1]||'').length < prec){ s[1]=s[1]||''; s[1] +=new Array(prec - s[1].length + 1).join('0') } return s.join(dec) }, empty: function(mixedVar){ var undef; var key; var i; var len; var emptyValues=[undef, null, false, 0, '', '0']; for (i=0, len=emptyValues.length; i < len; i++){ if(mixedVar===emptyValues[i]){ return true }} if(typeof mixedVar==='object'){ for (key in mixedVar){ if(mixedVar.hasOwnProperty(key)){ return false; }} return true; } return false; }, setUserIndentifier: function(){ if(typeof wpforms_settings!=='undefined'&&wpforms_settings.uuid_cookie&&! WPForms.getCookie('_wpfuuid')){ var s=new Array(36), hexDigits='0123456789abcdef', uuid; for (var i=0; i < 36; i++){ s[i]=hexDigits.substr(Math.floor(Math.random() * 0x10), 1); } s[14]="4"; s[19]=hexDigits.substr((s[19] & 0x3) | 0x8, 1); s[8]=s[13]=s[18]=s[23]='-'; uuid=s.join(""); WPForms.createCookie('_wpfuuid', uuid, 3999); }}, createCookie: function(name, value, days){ var expires=''; if(days){ if('-1'===days){ expires=''; }else{ var date=new Date(); date.setTime(date.getTime() + (days*24*60*60*1000)); expires='; expires=' + date.toGMTString(); }}else{ expires='; expires=Thu, 01 Jan 1970 00:00:01 GMT'; } document.cookie=name + '=' + value + expires + '; path=/'; }, getCookie: function(name){ var nameEQ=name + '=', ca=document.cookie.split(';'); for(var i=0; i < ca.length; i++){ var c=ca[i]; while(c.charAt(0)===' '){ c=c.substring(1, c.length); } if(c.indexOf(nameEQ)==0){ return c.substring(nameEQ.length, c.length); }} return null; }, removeCookie: function(name){ WPForms.createCookie(name, '',-1); }}; WPForms.init(); window.wpforms=WPForms; $.fn.randomize=function(selector){ var $elems=selector ? $(this).find(selector):$(this).children(); for(var i=$elems.length; i >=0; i--){ $(this).append($elems[ Math.random() * i | 0 ]); } return this; }})(jQuery);